initialize global parameters
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=stringLen), | public | :: | arg |
command line arguments |
|||
| character(len=stringLen), | public | :: | auxString | ||||
| integer(kind=short), | public | :: | i | ||||
| character(len=stringLen), | public | :: | sep |
SUBROUTINE LogInit IMPLICIT NONE ! Local scalars: INTEGER (KIND = short) :: i CHARACTER (LEN = stringLen) :: arg !! command line arguments CHARACTER (LEN = stringLen) :: auxString CHARACTER (LEN = stringLen) :: sep !------------end of declaration------------------------------------------------ i = 1 DO WHILE ( .not. (arg == '') ) CALL Getarg ( i, arg ) SELECT CASE (arg) CASE ( '-noverbose' ) verbose = .FALSE. logToScreen = .FALSE. CASE ( '-logfile' ) i = i + 1 CALL Getarg ( i , logFile ) logUnit = GetUnit() OPEN (UNIT = logUnit, FILE = logFile, position = 'APPEND', & ACTION = 'WRITE', IOSTAT = ios) IF ( ios /= 0 ) THEN !verbose = .TRUE. CALL Catch ('error', 'initialization', & 'error in opening log file: ' , & code = OpenFileError, argument = logFile ) ENDIF logToFile = .TRUE. CALL TimeStamp (logUnit) sep = " "//logsep//" "//"logging start" WRITE(UNIT = logUnit, FMT='(a)') TRIM(sep) CASE ( '-loglevel' ) i = i + 1 CALL Getarg ( i , arg ) SELECT CASE (arg) CASE ( 'error' ) !report only error messages logLevel = 1 CASE ( 'warning' ) !report error and warning messages logLevel = 2 CASE ( 'info' ) !report error, warning and info messages logLevel = 3 CASE default WRITE(stdOut,*) 'Unknown loglevel option: ', TRIM(arg) WRITE(stdOut,*) 'Program terminated' STOP '' END SELECT CASE DEFAULT !case unknown END SELECT i = i + 1 ENDDO RETURN END SUBROUTINE LogInit